Dynamic optimization of the uplink and downlink bandwidths based on calendar data

ABSTRACT

A communications system can be adapted to perform a method for optimizing bandwidth by analyzing calendar data. Such as method can include: receiving an indication of an event via a calendaring system; identifying a property of the event, event time, and a duration of the event; determining an estimation of bandwidth usage of the mobile device based on the identified property and duration of the event; and allocating bandwidth to the mobile device at the event time and during the duration of the event based on the estimation of the bandwidth usage of the mobile device.

BACKGROUND

As communication technologies continue to advance in use and demand,allocation of uplink and downlink bandwidths continues to beproblematic. When allocations between uplink and downlink bandwidths arenot sufficient, users can experience lowered quality, reliability, andaccessibility.

In some instances, mobile communication systems may not be configured tosufficiently allocate uplink and downlink bandwidths over time periodsand in real time. Communications professionals have found it to bedifficult to configure a base station to be capable of dynamicallyallocating the downlink and uplink bandwidths to users. It can also bedifficult to configure a base station to adjust the allocation of uplinkand downlink bandwidths for users in near real time. The lack ofcapabilities of adequate dynamic adjustment of the user downlink anduplink bandwidths thus negatively affects the user experience.

SUMMARY

Generally, the present technology includes the dynamic optimization ofuplink and downlink bandwidths based on calendar data. The technologyincludes computing systems having system components configured forimplementing uplink and downlink processes so as to be capable ofimplementing dynamic optimization of bandwidths based on calendar data.The technology also includes the methods that can be utilized fordynamic optimization of uplink and downlink bandwidths based on calendardata, which methods can include computing methods and methods thatinclude communicating calendar data between computing systems over anetwork.

In one embodiment, a method is provided for optimizing bandwidth in amobile communication system including a mobile device with a calendaringsystem operating thereon. Such as method can include: receiving anindication of an event via the calendaring system; identifying aproperty of the event, event time, and a duration of the event;determining an estimation of bandwidth usage of the mobile device basedOn the identified property and duration of the event; and allocatingbandwidth to the mobile device at the event time and during the durationof the event based on the estimation of the bandwidth usage of themobile device. In one aspect, the property of the event can include anindication of a scheduled telephone call, text, email, or connection tothe Internet implying increased bandwidth usage during the event. In oneaspect, the property of the event can include an implied indication thatthe user will be occupied with an activity which implies decreasedbandwidth usage during the event.

In one embodiment, a computer-readable storage medium is provided thatincludes computer-executable instructions stored thereon that areexecutable by a computing device, such as a base station, capable ofcommunicating with a mobile device via a wireless communication systemfor dynamic optimization of uplink and downlink bandwidths based oncalendar data. The computer-executable instructions can be executable toperform operations including: receiving an indication of an event via acalendaring system of the computing device; identifying a property ofthe event, event time, and a duration of the event; determining anestimation of bandwidth usage of the mobile device based on theidentified property and duration of the event; and allocating bandwidthto the mobile device at the event time and during the duration of theevent based on the estimation of the bandwidth usage of the mobiledevice. In one aspect, the property of the event can include anindication of a scheduled telephone call, text, email, or connection tothe Internet implying increased bandwidth usage during the event.

In one embodiment, a wireless communication system can be configured tobe capable of implementing dynamic optimization of uplink and downlinkbandwidths based on calendar data. The wireless communications systemcan include: a bandwidth controller configured to allocate bandwidth ofthe wireless communication system; and a mobile device capable ofcommunicating with the bandwidth controller in order to request anallocation of bandwidth in the wireless communication system, whereinthe bandwidth controller allocates the bandwidth of the wirelesscommunication system according to the method described herein.

In one aspect, a bandwidth controller can be configured for use in awireless communication system including a plurality of wireless mobiledevices. The bandwidth controller can include a computer-readablestorage medium having computer executable instructions for implementingdynamic optimization of uplink and downlink bandwidths based on calendardata.

The foregoing summary is illustrative only and is not intended to be inany way limiting. In addition to the illustrative aspects, embodiments,and features described above, further aspects, embodiments, and featureswill become apparent by reference to the drawings and the followingdetailed description.

BRIEF DESCRIPTION OF THE FIGURES

The foregoing and following information as well as other features ofthis disclosure will become more fully apparent from the followingdescription and appended claims, taken in conjunction with theaccompanying drawings. Understanding that these drawings depict onlyseveral embodiments in accordance with the disclosure and are,therefore, not to be considered limiting of its scope, the disclosurewill be described with additional specificity and detail through use ofthe accompanying drawings, in which:

FIG. 1 includes a schematic illustration of an embodiment of a mobilecommunications system that includes one or more cellular areas;

FIG. 2 includes a schematic illustration of an embodiment of a mobiledevice that can operate on the mobile communications system of FIG. 1;

FIG. 3 illustrates a flow diagram for a method for optimizing bandwidthin a mobile communication system;

FIG. 4 illustrates a flow diagram of an embodiment of a method performedon a computing device at a base station in order to optimize bandwidthin a mobile communication system;

FIG. 5 provides a schematic representation of a wireless communicationsystem that can perform dynamic bandwidth adjustment for one or moremobile devices; and

FIG. 6 shows an example computing device that is arranged to perform anyof the computing methods described herein,

all arranged in accordance with at least one of the embodimentsdescribed herein, and which arrangement may be modified in accordancewith the disclosure provided herein by one of ordinary skill in the art.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings, which form a part hereof. In the drawings,similar symbols typically identify similar components, unless contextdictates otherwise. The illustrative embodiments described in thedetailed description, drawings, and claims are not meant to be limiting.Other embodiments may be utilized, and other changes may be made,without departing from the spirit or scope of the subject matterpresented herein. It will be readily understood that the aspects of thepresent disclosure, as generally described herein, and illustrated inthe figures, can be arranged, substituted, combined, separated, anddesigned in a wide variety of different configurations, all of which areexplicitly contemplated herein.

Generally, a mobile communications system can be configured for dynamicallocation of uplink and downlink bandwidths based on calendar data.This can include a base station that is configured to dynamicallyallocate the downlink and uplink bandwidths to mobile device uses. Thedynamic allocation of bandwidths can include adjusting the downlink anduplink bandwidths for users in near real time based on calendar data.The dynamic adjustment of the user downlink and uplink bandwidths can beperformed by the base station in a manner that does not affect the userexperience can be performed based on the user behavior prediction forbandwidth usage on certain calendar events.

FIG. 1 illustrates an embodiment of a mobile communications system 100that includes one or more cellular areas 110 each with a base station112. The communications system 100 also operates with a base station 112that includes a computing system 114 that is capable of performingcomputing methods to optimize bandwidth allocation based on calendardata. The computing system 114 can be substantially as the computingsystem 600 described herein in connection with FIG. 6. Each cellulararea 110 may also include any number of mobile communications devices116 (e.g., mobile phone) and/or any number of mobile computing systems118.

As shown in FIG. 2, the mobile phones 116 and mobile computing systems118 (not shown, but which can be configured similarly) can includecalendaring modules 220 that are configured to receive and/or providecalendar event data for calendar events 224. The calendaring module 220can be configured to present a graphical calendar interface (GCI) 222illustrating a calendar 221. While the calendar 221 of the GCI 222 isshown to show all 12 months, the CGI 222 may be adapted to show anycalendar timeframe ranging from minutes, hours, days, weeks, months,and/or regular or custom portions thereof.

The CGI 222 can also show calendar events 224. Some calendar events 224can be characterized as having a bandwidth property that identifies aprojected amount of bandwidth. These calendar events 224 can, forexample only, be described as high bandwidth events 226, low bandwidthevents 228, or medium bandwidth events 230. These calendar events 224can be distributed across a calendar 221. For example, if the presenttime period was January, a calendar 221 may show more calendar events224 that are described to be high bandwidth events 226, low bandwidthevents 228, or medium bandwidth events 230. These represent calendarevents 224 occurring in the near future, and which calendar events 224can be used for dynamically adjusting bandwidth allocations as describedherein.

The calendar events 224 can include single calendar events or repeatingcalendar events that occur on a cycle of the calendar. The calendarevents 224 can be automatically, manually, or remotely entered in thecalendar 221 of the mobile phone 116. The calendar events 224 caninclude calendar event data that is useful for the methods describedherein. That is, the calendar event data can be available to the use bythe mobile phone 116 by a calendar program, such as Outlook™. Generally,any computing device of the communications system 100 can be configuredto use the calendar event data. The calendar events 224 can be describedby calendar event data that provides information about the calendarevent 224 and user communication usage in uplink and downlinkactivities. The calendar event data can be used for medium and long termtrend adjustments as well as the additional ability to meet requirementsof real-time or near-real-time adjustments of uplink and downlinkbandwidth allocations. The ability to adjust allocations of uplink anddownlink bandwidths based on calendar event data or changes in calendarevent data can provide real time dynamic adjustability.

In one embodiment, the bandwidths available can be adjusted over afuture specific period can be determined by tracking and using calendarevent data of events in a user-defined calendar application. Theanalysis of the type and property of events in the calendar applicationcan be used to more accurately predict requirements of the user for theuplink and downlink bandwidths in a certain specific period of time inthe future. That is, calendar event data entered into or retrieved froma user-defined calendar application can be used to adjust the uplink anddownlink bandwidths allocated to the user at a certain time point orover a certain time period related to the calendar event data.

Also, statistical analysis of calendar event data in the user-definedcalendar application can be used to obtain more accurate requirementsfor the uplink and downlink bandwidths for future allocationestimations. The calendar event data can be provided to a base stationand then processed in order to obtain guidance in the allocation of theuplink and downlink bandwidths for the user. Determining bandwidthallocation from calendar event data from one or more users can beaggregated in order to adjust the availability and allocation ofbandwidths over an entire mobile communications system. This can alsoinclude aggregation and distribution of calendar event data between basestations over a network. Calendar event data obtained at one basestation can be utilized by a different base station when and if thatcalendar event data becomes useful, such as when a user moves betweenbase stations coverage at times related to the calendar event data.

In one embodiment, the communications system can include a mobile devicehaving a calendaring application configured to obtain and/or providecalendar event data. The calendar event data can be obtained from thecalendaring application and provided to a base station, and exchange ofthe calendar event data can occur between base stations.

The mobile device can include a calendar function that is a standalonecalendar application, and another application can obtain calendar eventdata therefrom in order to be used for dynamic bandwidth allocation.Thus, one or more applications can cooperate to obtain, provide or usecalendar event data for dynamic bandwidth allocation. The calendaringapplication can be any of the calendar applications available that canbe used with a mobile device. Examples of calendar applications that canbe used for calendar event data include Outlook™, or Google Calendar™,as well as others. The calendar events described in the calendaringapplication can provide calendar event data with high accuracy becausethe data can be input directly into the calendaring application. Forexample, the calendar event data can be obtained from data entered intothe calendaring application by voluntary, active submission by the user.If the event changes, the user likely can actively or passively obtain arevised calendar with revised calendar data.

In one embodiment, the calendar event data can be obtained from eventsand reminders set by the user in the calendaring application. Thecalendar events can include individual natural properties, such as starttime, end time, event type, location, and the like. These naturalproperties can provide data that can be processed in order to moreaccurately determine requirements of the user for the communicationsbandwidth during the process of events for some time or time period,such as the near future.

In one embodiment, the communications system can be configured toconsider different conditions. This can include the calendar event datato include the start time and end time of an event. The start time andend time of the event can represent a continuous period of time forparticular behavior patterns of the user. During this time period thebehavior patterns and requirements of the user may not changesignificantly.

In one embodiment, the communications system can be configured toconsider a property of an event. The property of the event can be usedto determine the requirements of the user for communications anddownlink and uplink bandwidths during the period of the event. Forexample, if the property of the event is business dinners or yogaexercises, during the period when this event lasts, the communicationssystem can have a certain confidence of lower bandwidth requirements.The type of event can be utilized as an event property in order topredict that the requirements of the user for calling or utilizinguplink and/or downlink bandwidth requirements. The allocation ofbandwidths can be determined based on the type of event activity.

In one embodiment, the communications system can consider location datawith the calendar event data. The location data can include location orlikely location of a user within a coverage area of the base stationwhere the event will occur. The location can be used for determiningbandwidth allocation and adjusting in a dynamic manner the changes ofrequirements for communications within a network and between networks inthe near future.

In one embodiment, the communications system can consider various otherproperties of the calendar event for use in dynamic bandwidth allocationadjustment and prediction. The other properties can include eventinformation that can provide more properties of the event to determinethe level of possible bandwidth usage by the user over a time period ofthe event. In one example, a calendar event having a property of “Do NotDisturb”, can indicate the user does not want to be disturbed during theevent and therefrom bandwidth requirements can be reduced. On the otherhand, a calendar event having a property of “Teleconference” canindicate high call usage, but may indicate low data usage.

In another embodiment, historical data usage trends on repeatingcalendar events can be used to determine bandwidth allocation for auser. For example, if during “study” calendar events the user streamslive media, then the allocation may be high. On the other hand, a “nap”event may have lower bandwidth allocation.

Also, the calendaring application can be configured to allow a user toidentify if they will be making a call or using data functions duringthe event. The information can be prompted to the user, and the user caninput data in response to the prompt in order to classify the level ofbandwidth requirement for a particular calendar event. Thereby, thecommunications system can dynamically adjust bandwidth allocation basedon a user directly specify whether the event will need or use servicesof call and data communications, and the level of data services that maybe used.

The computing system can include a calendaring module that is configuredto implement the processing of calendar event data in dynamicallyadjusting bandwidth allocation. The computing system can include eventclassification and event statistics for each calendar event in thecalendar application of a user in accordance with the natural propertiesof the event and any additional properties of the event to sum up thecommunication requirements of the user at a certain time. The certaintime can be around or exactly the time of the calendar event. Thecertain time can also include the near future, such as the next minute,hour, day, week, month, or the like. For example, a simpleclassification obtained from keywords can be input by the user or fromselections from selectable icons or dropdown menus to provide simpleclassifications of the event. Simple classifications can providespecific data usage estimates.

In one embodiment, the event can be classified as an event with lowbandwidth requirements. For example, certain business activities, suchas business dinners, business meetings, business negotiations, and thelike can have low bandwidth requirement classification. During theprocess of these events, the user basically has no time to use theirmobile phone and thereby the allocation of bandwidths can be reduced forthat event. Thus, certain events can be classified as having lowcommunications needs, and thus the communication requirements and uplinkand downlink requirements thereof are both low.

Some specific examples of daily activities with low bandwidth allocationcan include: body building, swimming, going to the hot spring,travelling by air, writing, reading, cooking, medical protocols, or thelike. During the process of these events, the user may not use themobile phone for a scheduled time, or will feel inconvenient, have noway, or not be allowed to use the mobile device. Thus, thecommunications bandwidth requirements thereof will be reduced.

In one embodiment, event data can be identified as having high bandwidthallocation requirements. Such high bandwidth allocation events caninclude phone conferences, such as pre-determined out-of-office phoneconferences, or pre-determined out-of-office calling with other users,or the like. The proceeding of such events often need to use the mobiledevice, during which time, users will have certain requirements for boththe downlink and uplink bandwidths of voice services.

In one embodiment, a the communications system can aggregate a largenumber of user calendar event data for use in guiding dynamic adjustmentof the uplink and downlink bandwidths within the coverage area of everybase station and between base stations. The aggregation of user calendarevent data can be used to determine bandwidth allocation in the nearfuture, such as for minutes, hours, days, weeks, or the like.

In one embodiment, the communications system can obtain calendar eventdata that includes certain direct properties for events. The directproperties of the events can be selected by the user in free forms sothat the user can enter any data. Also, select properties of an eventcan be provided to the user for selection, such as from dropdown menus.Selected properties can be useful in determining the communicationrequirements for bandwidth allocation of the user at a certain time. Thecertain time can be somewhere in the near future on the users calendar.

In one embodiment, the calendar data can include location data thatincludes the properties of a location of an event. Some locations mayfacilitate high bandwidth usage, while others may not. For example,church locations can have low bandwidth usage requirements, whilelibraries may have high bandwidth usage due to mobile internet research.The location property data may depend on passive event property reportsof data related to the properties of the location. This can includeproperty reports, such as the location being a place for businessmeetings. The event property can be entered by the user or obtained frominternet data regarding the event location. The event property can bedependent on the active user location detection, such as GPS positioningor location based determination.

In one embodiment, the computing system can include an incentive modulethat is configured to provide incentive to a user such that the useraccurately identifies a level of communications system usage for anevent and then to actually use the identified level during the event. Itcan be beneficial for the incentive module to receive accurate usagelevels that are low, medium, or high because each identified levelallows for an adjustment in bandwidth allocation. Any accurateallocation can be deemed as beneficial even if the user is using a highamount of bandwidth. For example, a certain incentive module can beconfigured such that if the level of bandwidth usage that is chosen bythe user matches the reality of the actual level of bandwidth during theevent, then the user receives an incentive. In one example, if for anevent, the user selected “high calling requirement properties”, and infact the user in the event has indeed made frequent calls with a mobilephone, the user can be provided an incentive by the incentive module.The incentive can include additional minutes, rewards, phone chargediscount, accumulative credit points, or the like.

Alternatively, if the user does not make a high volume of calls duringthe event with high calling requirement properties, then incentivemodule can inhibit an incentive. The incentive module may also withdrawincentives or remove incentives or provide punishment if a certainbandwidth usage level is identified for an event and the actual usage ismuch different.

In one embodiment, the communications system can be configured forperforming error analysis and adjustment with regard to bandwidthallocations. The communications system can obtain data regarding errorsin future or near-future estimation or adjustment of communicationrequirements and uplink and downlink bandwidth requirements within anetwork and between networks. The error can be based on events in acalendaring application. The events can depend on user behaviors tocarry out and update events in a calendar application. Throughstatistics of planning and implementation the statuses of differentevents for a user, the behavior of the user for certain events can beobtained as event data for use in determining allocation. That is, theamount of bandwidth usage by a user during a certain type of event canbe used as event data.

Also, the weight of usage of event data for a user can depend on theuser's behavior being consistent across similar events. When a user isconsistent in bandwidth usage across similar events, this user's eventdata can be weighted higher. On the other hand, if a user is notconsistent in usage across similar events, this user's data can beweighted lower. As such, sporadic and random usage behavior of a useracross similar events resulting in a lower “behavior credit” for theuser.

The communications system can be upgraded from a fixed allocationproportion configuration between the uplink and the downlink bandwidthsto a dynamically adjustable allocation based on calendar event data. Thecalculations can be performed at a base station from data obtained froma mobile device.

FIG. 3 illustrates a flow diagram for a method 300 for optimizingbandwidth in a mobile communication system including a mobile devicewith a calendaring system operating thereon. A calendaring system can beoperating on the mobile device and/or communications system. The method300 can include: receiving an indication of an event via a calendaringsystem (“IDENTIFY EVENT,” block 310); identifying a property of theevent, event time, and a duration of the event (“IDENTIFY EVENTPROPERTY,”. block 312); determining an estimation of bandwidth usage ofthe mobile device based on the identified property and duration of theevent (“ESTIMATE BANDWIDTH REQUIREMENT,” block 314); and allocatingbandwidth to the mobile device at the event time and during the durationof the event based on the estimation of the bandwidth usage of themobile device (“ALLOCATING BANDWIDTH FOR EVENT.” block 316).

The property of the event can include, for example, an indication of ascheduled telephone call, text, email, or connection to the Internetimplying increased bandwidth usage during the event. In one aspect, theproperty of the event can include an implied indication that the userwill be occupied with an activity which implies decreased bandwidthusage during the event.

The process of identifying an event property for a particular event caninclude searching a description of the event and identifying keywords ofthe event (“IDENTIFY EVENT KEYWORDS,” block 318). The description caninclude keywords that are associated with bandwidth usage levels. Assuch, an estimation of bandwidth usage of the mobile device can bedetermined based on the event property. The description and keywords canbe related to predefined levels of usage or they can be related to alevel of usage by the user. This calendar event data can then be usedfor identifying an estimated bandwidth associated with the identifiedkeywords. Keywords generically include one or more words.

The process can also include identifying an estimated bandwidthassociated with the identified keywords. That is, certain keywords canbe associated with or defined to have certain bandwidth requirements.The process can also include identifying an average required bandwidthfor a keyword. As such, the process can determine the bandwidth usage ofevents having certain keywords, and then determine an average bandwidthof the keywords. For example, a mobile device can access event data forprevious events with the identified keywords, and determine theestimated or averaged bandwidth allocation. The process can includeidentifying an estimated bandwidth associated with the identifiedkeywords by identifying an average required bandwidth for a plurality ofmobile devices connected to the wireless communication network inprevious events with the identified keywords. The methods can beconducted with calendar event data from one or more mobile devices.

In the process, the bandwidths in the communications system can includedownlink and uplink bandwidths. As such, the process of determining anestimation of the bandwidth usage for an event can include determiningan estimated uplink bandwidth usage and an estimated downlink bandwidthusage. These determinations can be done separately or together. Theprocess can then use the estimated uplink and downlink bandwidths indetermining a bandwidth allocation for a user during a calendar event.The allocation of the bandwidth to a mobile device can be for aparticular event time and for a particular duration of the event. Theallocation can also be based on the estimation of the bandwidth usage,and the dynamic allocation can include allocating uplink bandwidth anddownlink bandwidths based on the estimated uplink bandwidth and theestimated downlink bandwidth, respectively.

The method 300 can also include identifying a location of the event andlocation data related to the location (“IDENTIFY EVENT LOCATION,” block320). The event location can provide location data that is relevant indetermining bandwidth usage for an event. The location can be identifiedwith a particular event setting that either promotes or inhibits mobilecommunications, and thereby the location data can be used to determinebandwidth allocations. The location identified can be by any of thevarious means of location identification ranging from triangulation,GPS, AGPS, coordinates, maps, addresses, or the like. The location canbe defined by the buildings and activities associated with the location.Accordingly, the location data can be useful in allocating bandwidth toone or more particular mobile devices. This can include reserving theallocated bandwidth at the event time and during the duration of theevent in a coverage area of the wireless communication network at theidentified location.

The property of an event that can be identified can also include anexpress indication of the level of bandwidth usage likely for an event.That is, the event can have an express indication that the bandwidthwill be high, low, medium, or other amount. The base station can thenallocation an amount of bandwidth for an event based on an expressindication of bandwidth usage during the event. The base station canthen allot bandwidth for the mobile device at the event time during theduration of the event.

In one embodiment, the method 300 can include determining whether or notan allocated amount of bandwidth for an event was used during the eventby comparing the allocated bandwidth with actual bandwidth usage(“COMPARE ALLOCATED AND USED BANDWIDTH,” block 322). This can includedetermining if the mobile device use increased bandwidth during theduration of the event, used decreased bandwidth, or used about the samebandwidth of allocated to actual used bandwidth. Variances betweenallocated and used bandwidths can have certain consequences. Overuse cancongest the communications system. Underuse can waste communicationsystem resources.

In one embodiment, the method 300 can determine whether or not toprovide an incentive to a user in view of the level of bandwidthallocated for a calendar event compared to the actual level of bandwidthused during the event (“INCENTIVE?,” block 324). The incentive can beprovided if the amount of usage is close to the allocated amount becausethis results in an efficient communications system. As such, it can beadvantageous to incentivize users to accurately identify and predict theamount of usage for an event. For example, if a user identifies an eventas a high use event and it is determined that the mobile device actuallyused an increased amount of bandwidth (e.g., high use) during theduration of the event as expressly indicated, it can be beneficial toprovide the user with an incentive.

The process can also include a property of the event being an expressindication of lower usage during an event. The base station can thendetermine an allocation of bandwidths based on the express indicationthat the mobile device will use decreased bandwidth at the event timeduring the duration of the event. If after the event time and durationof the event, it is determined that the mobile device actually useddecreased bandwidth during the duration of the event, then an incentivecan be provided. If it is determined that the mobile device useddecreased bandwidth during the duration of the event as expresslyindicated, providing the user with an incentive can prove thecommunications system with higher efficiency. The incentive can alsoinduce the user to identify more calendar events that have lowerbandwidth requirements. In some examples, the incentive can include aprice discount, credit points, or increased bandwidth during a futureevent.

However, if it is determined that the mobile device used increasedbandwidth during the duration of the event in opposition to an expresslyindicated lower bandwidth, then a disincentive may be given to the user(“DISINCENTIVE?,” block 326). If it is determined that the user shouldreceive a disincentive, then the communications system can provide thedisincentive to the user. For example, the disincentive can include adegradation of priority during a future event.

In one embodiment, the communications system can include acomputer-readable storage medium that includes computer-executableinstructions stored thereon that are executable by a computing devicecapable of communicating with a mobile device via a wirelesscommunication system. The computing device can be associated with a basestation as illustrated in FIG. 1. The computing device can compute thecomputer-executable instructions in order to perform operations of acomputing method. FIG. 4 illustrates a flow diagram of an embodiment ofthe computing method 400 that can include: receiving an indication of anevent via a calendaring system of mobile device and/or the computingdevice (“RECEIVE EVENT DATA,” block 410); identifying a property of theevent, event time, and a duration of the event that is related to thebandwidth allocation that may be needed for the event (“IDENTITY EVENTPROPERTY,” block 412); determining an estimation of bandwidth usage ofthe mobile device based on the identified property and duration of theevent (“ESTIMATE BANDWIDTH USAGE,” block 414); and allocating bandwidthto the mobile device at the event time and during the duration of theevent based on the estimation of the bandwidth usage of the mobiledevice (“ALLOCATE BANDWIDTH,” block 416). In one aspect, the property ofthe event can include an indication of a scheduled telephone call, text,email, or connection to the Internet implying increased bandwidth usageduring the event. In another aspect, the property of the event caninclude an implied indication that the user will be occupied with anactivity which implies decreased bandwidth usage during the event.

The computing method 400 can include the base station processing eventdata in order to identify a particular property of the event related topossible bandwidth usage during the event by analyzing text of the eventdata (“ANALYZE EVENT TEXT,” block 418). The base station can include atext analyzing unit (e.g., text analyzing module), which can be includedin the computing system of the base station. The text analyzing unit canbe configured to search a description of the event and identify keywordsof the text that can provide some indication as to bandwidth usageduring the event. The keywords found can then be used to determine anestimation of bandwidth usage of the mobile device. The computing systemcan identify an estimated bandwidth associated with the identifiedkeywords by, for example, having the computing system referencing alookup table stored on a memory device of the computing system. Thelookup table of the computing device can include calendar event dataprovided by one or more of the mobile devices that have been within thecellular area of the base station or provided by a different basestation.

The computing system can analyze event data in order to obtaininformation helpful in estimating bandwidth associated with keywords ofan event. The computing system can estimate bandwidth associated withthe identified keywords and identify an average required bandwidth inprevious events associated with the identified keywords, such as thosestored in the lookup table. Also, the computing system can perform suchanalysis system wide for all devices. As soon as a mobile device entersa cell area, the base station can obtain calendar data and in real timemake dynamic changes in bandwidth allocation. This can be enabled byidentifying an average required bandwidth for a plurality of mobiledevices connected to the wireless communication network in previousevents with the identified keywords, such as those in the lookup table.

The computing system associated with the base station can identify andanalyze downlink and uplink bandwidths of a calendar event in order todetermine an estimation of bandwidth usage. The computing system candetermine an estimated uplink bandwidth usage and an estimated downlinkbandwidth usage, and utilize the estimated usage in determiningallocation for an event. The allocated bandwidth can be reserved for aparticular mobile device at the event time and during the duration ofthe event based on the estimation of the bandwidth usage from thecalendar data. The computing system can allocate uplink bandwidth anddownlink bandwidth based on the estimated uplink bandwidth and theestimated downlink bandwidth, respectively.

The computing system can also be configured to identify and analyzelocation data for a particular calendar event (“ANALYZE LOCATION DATA,”block 420). The computing system can use various means to obtainlocation data that can provide information about possible bandwidthusage during an event at that location. The location data can beprocessed by the computing system in order to allocate bandwidth to aparticular mobile device during the event. The computing system canreserving the allocated bandwidth at the event time and during theduration of the event in a coverage area of the wireless communicationnetwork at the identified location. To facilitate this, the computingsystem can include a calendaring application or module that cancoordinate calendar events with allocated bandwidth for one or moremobile units. The current location of mobile devices and currentcalendar event can be used to dynamically adjust bandwidth allocationsacross the mobile devices of a cellular area.

The computing system can analyze the event data in order to identify anexpress indication that the mobile device will use increased bandwidthat the event time during the duration of the event (“INCREASEBANDWIDTH?,” block 422). When a computing system receives an expressindication of increased bandwidth usage for an event time and durationof the event, the computing system can after the event determine if themobile device used increased bandwidth during the duration of the event.If it is determined that the mobile device used increased bandwidthduring the duration of the event as expressly indicated, the computingsystem can determine an incentive to be provided to the user.

The computing system can analyze event data in order to identify aproperty of an event that provides an express indication that the mobiledevice will use decreased bandwidth at the event time during theduration of the event (“DECREASE BANDWIDTH?,” block 424). Thecomputer-readable storage medium of the computing systems that provideinstructions for the computing system to: after the event time andduration of the event, determine if the mobile device used decreasedbandwidth during the duration of the event; and if it is determined thatthe mobile device used decreased bandwidth during the duration of theevent as expressly indicated, provide the user with an incentive. Forexample, an incentive the computing system can prove the user caninclude price discounts, credit points, or increased bandwidth during afuture event.

On the other hand, if it is determined that the mobile device usedincreased bandwidth during the duration of the event as opposed to theprojected lower bandwidth usage expressly indicated, the computingsystem can provide the user with a disincentive. For example, adisincentive the computing system can provide the user can include adegradation of priority during a future event.

A wireless communications systems, such as described in connection withFIG. 1 can include the computing system associated with a base stationand have hardware and software for performing the computing methodsdescribed herein.

FIG. 5 provides a schematic representation of a wireless communicationsystem 500 that can perform dynamic bandwidth adjustment for one or moremobile devices. The system can include a network 510, which can beconfigured as any wireless communication network known or developed. Thenetwork 510 can be operably coupled with a bandwidth controller 512. Thebandwidth controller 512 can be configured to allocate bandwidth of thewireless communication system 512 for one or more mobile devices 514.The mobile device 514 can be capable of communicating with the bandwidthcontroller 512 through the network 510 in order to request an allocationof bandwidth in the wireless communication system 500. The bandwidthcontroller 512 allocates the bandwidth of the wireless communicationsystem 500 according to any of the methods or processes describedherein. The bandwidth controller 512 can include a computer-readablestorage medium 516 having computer executable instructions forperforming dynamic bandwidth adjustment based on calendar event data.

One skilled in the art will appreciate that, for this and otherprocesses and methods disclosed herein, the functions performed in theprocesses and methods may be implemented in differing order.Furthermore, the outlined steps and operations are only provided asexamples, and some of the steps and operations may be optional, combinedinto fewer steps and operations, or expanded into additional steps andoperations without detracting from the essence of the disclosedembodiments.

The present disclosure is not to be limited in terms of the particularembodiments described in this application, which are intended asillustrations of various aspects. Many modifications and variations canbe made without departing from its spirit and scope, as will be apparentto those skilled in the art. Functionally equivalent methods andapparatuses within the scope of the disclosure, in addition to thoseenumerated herein, will be apparent to those skilled in the art from theforegoing descriptions. Such modifications and variations are intendedto fall within the scope of the appended claims. The present disclosureis to be limited only by the terms of the appended claims, along withthe full scope of equivalents to which such claims are entitled. It isto be understood that this disclosure is not limited to particularmethods, reagents, compounds compositions or biological systems, whichcan, of course, vary. It is also to be understood that the terminologyused herein is for the purpose of describing particular embodimentsonly, and is not intended to be limiting.

In one embodiment, the present methods can include aspects performed ona computing system. As such, the computing system can include a memorydevice that has the computer-executable instructions for performing themethod. The computer-executable instructions can be part of a computerprogram product that includes one or more algorithms for performing anyof the methods of any of the claims.

In one embodiment, any of the operations, processes, methods, or stepsdescribed herein can be implemented as computer-readable instructionsstored on a computer-readable medium. The computer-readable instructionscan be executed by a processor of a wide range of computing systems fromdesktop computing systems, portable computing systems, tablet computingsystems, hand-held computing systems as well as network elements, basestations, femtocells, and/or any other computing device.

There is little distinction left between hardware and softwareimplementations of aspects of systems; the use of hardware or softwareis generally (but not always, in that in certain contexts the choicebetween hardware and software can become significant) a design choicerepresenting cost vs. efficiency tradeoffs. There are various vehiclesby which processes and/or systems and/or other technologies describedherein can be effected (e.g., hardware, software, and/or firmware), andthat the preferred vehicle will vary with the context in which theprocesses and/or systems and/or other technologies are deployed. Forexample, if an implementer determines that speed and accuracy areparamount, the implementer may opt for a mainly hardware and/or firmwarevehicle; if flexibility is paramount, the implementer may opt for amainly software implementation; or, yet again alternatively, theimplementer may opt for some combination of hardware, software, and/orfirmware.

The foregoing detailed description has set forth various embodiments ofthe processes via the use of block diagrams, flowcharts, and/orexamples. Insofar as such block diagrams, flowcharts, and/or examplescontain one or more functions and/or operations, it will be understoodby those within the art that each function and/or operation within suchblock diagrams, flowcharts, or examples can be implemented, individuallyand/or collectively, by a wide range of hardware, software, firmware, orvirtually any combination thereof.

In one embodiment, several portions of the subject matter describedherein may be implemented via Application Specific Integrated Circuits(ASICs), Field Programmable Gate Arrays (FPGAs), digital signalprocessors (DSPs), or other integrated formats. However, those skilledin the art will recognize that some aspects of the embodiments disclosedherein, in whole or in part, can be equivalently implemented inintegrated circuits, as one or more computer programs running on one ormore computers (e.g., as one or more programs running on one or morecomputer systems), as one or more programs running on one or moreprocessors (e.g., as one or more programs running on one or moremicroprocessors), as firmware, or as virtually any combination thereof,and that designing the circuitry and/or writing the code for thesoftware and or firmware would be well within the skill of one of skillin the art in light of this disclosure.

In addition, those skilled in the art will appreciate that themechanisms of the subject matter described herein are capable of beingdistributed as a program product in a variety of forms, and that anillustrative embodiment of the subject matter described herein appliesregardless of the particular type of signal bearing medium used toactually carry out the distribution. Examples of a signal bearing mediuminclude, but are not limited to, the following: a recordable type mediumsuch as a floppy disk, a hard disk drive, a CD, a DVD, a digital tape, acomputer memory, etc.; and a transmission type medium such as a digitaland/or an analog communication medium (e.g., a fiber optic cable, awaveguide, a wired communications link, a wireless communication link,etc.).

Those skilled in the art will recognize that it is common within the artto describe devices and/or processes in the fashion set forth herein,and thereafter use engineering practices to integrate such describeddevices and/or processes into data processing systems. That is, at leasta portion of the devices and/or processes described herein can beintegrated into a data processing system via a reasonable amount ofexperimentation. Those having skill in the art will recognize that atypical data processing system generally includes one or more of asystem unit housing, a video display device, a memory such as volatileand non-volatile memory, processors such as microprocessors and digitalsignal processors, computational entities such as operating systems,drivers, graphical user interfaces, and applications programs, one ormore interaction devices, such as a touch pad or screen, and/or controlsystems including feedback loops and control motors (e.g., feedback forsensing position and/or velocity; control motors for moving and/oradjusting components and/or quantities). A typical data processingsystem may be implemented utilizing any suitable commercially availablecomponents, such as those generally found in datacomputing/communication and/or network computing/communication systems.

The herein described subject matter sometimes illustrates differentcomponents contained within, or connected with, different othercomponents. It is to be understood that such depicted architectures aremerely exemplary, and that in fact many other architectures can beimplemented which achieve the same functionality. In a conceptual sense,any arrangement of components to achieve the same functionality iseffectively “associated” such that the desired functionality isachieved. Hence, any two components herein combined to achieve aparticular functionality can be seen as “associated with” each othersuch that the desired functionality is achieved, irrespective ofarchitectures or intermedial components. Likewise, any two components soassociated can also be viewed as being “operably connected”, or“operably coupled”, to each other to achieve the desired functionality,and any two components capable of being so associated can also be viewedas being “operably couplable”, to each other to achieve the desiredfunctionality. Specific examples of operably couplable include but arenot limited to physically mateable and/or physically interactingcomponents and/or wirelessly interactable and/or wirelessly interactingcomponents and/or logically interacting and/or logically interactablecomponents.

FIG. 6 shows an example computing device 600 that is arranged to performany of the computing methods described herein. In a very basicconfiguration 602, computing device 600 generally includes one or moreprocessors 604 and a system memory 606. A memory bus 608 may be used forcommunicating between processor 604 and system memory 606. The computingdevice 600 can be representative of any computing systems of thecommunications system, such as the base station or mobile phone.

Depending on the desired configuration, processor 604 may be of any typeincluding but not limited to a microprocessor (μP), a microcontroller(μC), a digital signal processor (DSP), or any combination thereof.Processor 604 may include one more levels of caching, such as a levelone cache 610 and a level two cache 612, a processor core 614, andregisters 616. An example processor core 614 may include an arithmeticlogic unit (ALU), a floating point unit (FPU), a digital signalprocessing core (DSP Core), or any combination thereof. An examplememory controller 618 may also be used with processor 604, or in someimplementations memory controller 618 may be an internal part ofprocessor 604.

Depending on the desired configuration, system memory 606 may be of anytype including but not limited to volatile memory (such as RAM),non-volatile memory (such as ROM, flash memory, etc.) or any combinationthereof System memory 606 may include an operating system 620, one ormore applications 622, and program data 624. Application 622 may includea determination application 626 that is arranged to perform thefunctions as described herein including those described with respect tomethods described herein. Program Data 624 may include determinationinformation 628 that may be useful for analyzing the contaminationcharacteristics provided by the sensor unit 240. In some embodiments,application 622 may be arranged to operate with program data 624 onoperating system 620 such that the work performed by untrusted computingnodes can be verified as described herein. This described basicconfiguration 602 is illustrated in FIG. 6 by those components withinthe inner dashed line.

Computing device 600 may have additional features or functionality, andadditional interfaces to facilitate communications between basicconfiguration 602 and any required devices and interfaces. For example,a bus/interface controller 630 may be used to facilitate communicationsbetween basic configuration 602 and one or more data storage devices 632via a storage interface bus 634. Data storage devices 632 may beremovable storage devices 636, non-removable storage devices 638, or acombination thereof. Examples of removable storage and non-removablestorage devices include magnetic disk devices such as flexible diskdrives and hard-disk drives (HDD), optical disk drives such as compactdisk (CD) drives or digital versatile disk (DVD) drives, solid statedrives (SSD), and tape drives to name a few. Example computer storagemedia may include volatile and nonvolatile, removable and non-removablemedia implemented in any method or technology for storage ofinformation, such as computer readable instructions, data structures,program modules, or other data.

System memory 606, removable storage devices 636 and non-removablestorage devices 638 are examples of computer storage media. Computerstorage media includes, but is not limited to, RAM, ROM, EEPROM, flashmemory or other memory technology, CD-ROM, digital versatile disks (DVD)or other optical storage, magnetic cassettes, magnetic tape, magneticdisk storage or other magnetic storage devices, or any other mediumwhich may be used to store the desired information and which may beaccessed by computing device 600. Any such computer storage media may bepart of computing device 600.

Computing device 600 may also include an interface bus 640 forfacilitating communication from various interface devices (e.g., outputdevices 642, peripheral interfaces 644, and communication devices 646)to basic configuration 602 via bus/interface controller 630. Exampleoutput devices 642 include a graphics processing unit 648 and an audioprocessing unit 650, which may be configured to communicate to variousexternal devices such as a display or speakers via one or more A/V ports652. Example peripheral interfaces 644 include a serial interfacecontroller 654 or a parallel interface controller 656, which may beconfigured to communicate with external devices such as input devices(e.g., keyboard, mouse, pen, voice input device, touch input device,etc.) or other peripheral devices (e.g., printer, scanner, etc.) via oneor more I/O ports 658. An example communication device 646 includes anetwork controller 660, which may be arranged to facilitatecommunications with one or more other computing devices 662 over anetwork communication link via one or more communication ports 664.

The network communication link may be one example of a communicationmedia. Communication media may generally be embodied by computerreadable instructions, data structures, program modules, or other datain a modulated data signal, such as a carrier wave or other transportmechanism, and may include any information delivery media. A “modulateddata signal” may be a signal that has one or more of its characteristicsset or changed in such a manner as to encode information in the signal.By way of example, and not limitation, communication media may includewired media such as a wired network or direct-wired connection, andwireless media such as acoustic, radio frequency (RF), microwave,infrared (IR) and other wireless media. The term computer readable mediaas used herein may include both storage media and communication media.

Computing device 600 may be implemented as a portion of a small-formfactor portable (or mobile) electronic device such as a cell phone, apersonal data assistant (PDA), a personal media player device, awireless web-watch device, a personal headset device, an applicationspecific device, or a hybrid device that include any of the abovefunctions. Computing device 600 may also be implemented as a personalcomputer including both laptop computer and non-laptop computerconfigurations. The computing device 600 can also be any type of networkcomputing device. The computing device 600 can also be an automatedsystem as described herein.

The embodiments described herein may include the use of a specialpurpose or general-purpose computer including various computer hardwareor software modules.

Embodiments within the scope of the present invention also includecomputer-readable media for carrying or having computer-executableinstructions or data structures stored thereon. Such computer-readablemedia can be any available media that can be accessed by a generalpurpose or special purpose computer. By way of example, and notlimitation, such computer-readable media can comprise RAM, ROM, EEPROM,CD-ROM or other optical disk storage, magnetic disk storage or othermagnetic storage devices, or any other medium which can be used to carryor store desired program code means in the form of computer-executableinstructions or data structures and which can be accessed by a generalpurpose or special purpose computer. When information is transferred orprovided over a network or another communications connection (eitherhardwired, wireless, or a combination of hardwired or wireless) to acomputer, the computer properly views the connection as acomputer-readable medium. Thus, any such connection is properly termed acomputer-readable medium. Combinations of the above should also beincluded within the scope of computer-readable media.

Computer-executable instructions comprise, for example, instructions anddata which cause a general purpose computer, special purpose computer,or special purpose processing device to perform a certain function orgroup of functions. Although the subject matter has been described inlanguage specific to structural features and/or methodological acts, itis to be understood that the subject matter defined in the appendedclaims is not necessarily limited to the specific features or actsdescribed above. Rather, the specific features and acts described aboveare disclosed as example forms of implementing the claims.

As used herein, the term “module” or “component” can refer to softwareobjects or routines that execute on the computing system. The differentcomponents, modules, engines, and services described herein may beimplemented as objects or processes that execute on the computing system(e.g., as separate threads). While the system and methods describedherein are preferably implemented in software, implementations inhardware or a combination of software and hardware are also possible andcontemplated. In this description, a “computing entity” may be anycomputing system as previously defined herein, or any module orcombination of modulates running on a computing system.

With respect to the use of substantially any plural and/or singularterms herein, those having skill in the art can translate from theplural to the singular and/or from the singular to the plural as isappropriate to the context and/or application. The varioussingular/plural permutations may be expressly set forth herein for sakeof clarity.

It will be understood by those within the art that, in general, termsused herein, and especially in the appended claims (e.g., bodies of theappended claims) are generally intended as “open” terms (e.g., the term“including” should be interpreted as “including but not limited to,” theterm “having” should be interpreted as “having at least,” the term“includes” should be interpreted as “includes but is not limited to,”etc.). It will be further understood by those within the art that if aspecific number of an introduced claim recitation is intended, such anintent will be explicitly recited in the claim, and in the absence ofsuch recitation no such intent is present. For example, as an aid tounderstanding, the following appended claims may contain usage of theintroductory phrases “at least one” and “one or more” to introduce claimrecitations. However, the use of such phrases should not be construed toimply that the introduction of a claim recitation by the indefinitearticles “a” or “an” limits any particular claim containing suchintroduced claim recitation to embodiments containing only one suchrecitation, even when the same claim includes the introductory phrases“one or more” or “at least one” and indefinite articles such as “a” or“an” (e.g., “a” and/or “an” should be interpreted to mean “at least one”or “one or more”); the same holds true for the use of definite articlesused to introduce claim recitations. In addition, even if a specificnumber of an introduced claim recitation is explicitly recited, thoseskilled in the art will recognize that such recitation should beinterpreted to mean at least the recited number (e.g., the barerecitation of “two recitations,” without other modifiers, means at leasttwo recitations, or two or more recitations). Furthermore, in thoseinstances where a convention analogous to “at least one of A, B, and C,etc.” is used, in general such a construction is intended in the senseone having skill in the art would understand the convention (e.g., “ asystem having at least one of A, B, and C” would include but not belimited to systems that have A alone, B alone, C alone, A and Btogether, A and C together, B and C together, and/or A, B, and Ctogether, etc.). In those instances where a convention analogous to “atleast one of A, B, or C, etc.” is used, in general such a constructionis intended in the sense one having skill in the art would understandthe convention (e.g., “ a system having at least one of A, B, or C”would include but not be limited to systems that have A alone, B alone,C alone, A and

B together, A and C together, B and C together, and/or A, B, and Ctogether, etc.). It will be further understood by those within the artthat virtually any disjunctive word and/or phrase presenting two or morealternative terms, whether in the description, claims, or drawings,should be understood to contemplate the possibilities of including oneof the terms, either of the terms, or both terms. For example, thephrase “A or B” will be understood to include the possibilities of “A”or “B” or “A and B.”

In addition, where features or aspects of the disclosure are describedin terms of Markush groups, those skilled in the art will recognize thatthe disclosure is also thereby described in terms of any individualmember or subgroup of members of the Markush group.

As will be understood by one skilled in the art, for any and allpurposes, such as in terms of providing a written description, allranges disclosed herein also encompass any and all possible subrangesand combinations of subranges thereof. Any listed range can be easilyrecognized as sufficiently describing and enabling the same range beingbroken down into at least equal halves, thirds, quarters, fifths,tenths, etc. As a non-limiting example, each range discussed herein canbe readily broken down into a lower third, middle third and upper third,etc. As will also be understood by one skilled in the art all languagesuch as “up to,” “at least,” and the like include the number recited andrefer to ranges which can be subsequently broken down into subranges asdiscussed above. Finally, as will be understood by one skilled in theart, a range includes each individual member. Thus, for example, a grouphaving 1-3 cells refers to groups having 1, 2, or 3 cells. Similarly, agroup having 1-5 cells refers to groups having 1, 2, 3, 4, or 5 cells,and so forth.

From the foregoing, it will be appreciated that various embodiments ofthe present disclosure have been described herein for purposes ofillustration, and that various modifications may be made withoutdeparting from the scope and spirit of the present disclosure.Accordingly, the various embodiments disclosed herein are not intendedto be limiting, with the true scope and spirit being indicated by thefollowing claims.

1. A method for optimizing bandwidth in a mobile communication systemincluding a mobile device with a calendaring system operating thereon,the method comprising: receiving an indication of an event via thecalendaring system; identifying a property of the event, event time, anda duration of the event; determining an estimation of bandwidth usage ofthe mobile device based on the identified property and duration of theevent; and allocating bandwidth to the mobile device at the event timeand during the duration of the event based on the estimation of thebandwidth usage of the mobile device.
 2. The method of claim 1, whereinthe property of the event comprises an indication of a scheduledtelephone call, text, email, or connection to the Internet implyingincreased bandwidth usage during the event.
 3. The method of claim 1,wherein the property of the event comprises an implied indication thatthe user will be occupied with an activity which implies decreasedbandwidth usage during the event.
 4. The method of claim 1, whereinidentifying a property of the event comprises searching a description ofthe event and identifying keywords and wherein determining an estimationof bandwidth usage of the mobile device comprises identifying anestimated bandwidth associated with the identified keywords.
 5. Themethod of claim 4, wherein identifying an estimated bandwidth associatedwith the identified keywords comprises identifying an average requiredbandwidth for the mobile device in previous events with the identifiedkeywords.
 6. The method of claim 5, wherein identifying an estimatedbandwidth associated with the identified keywords comprises identifyingan average required bandwidth for a plurality of mobile devicesconnected to the mobile communication system in previous events with theidentified keywords.
 7. The method of claim 1, wherein the bandwidthcomprises downlink and uplink bandwidths and wherein determining anestimation of bandwidth usage comprises determining an estimated uplinkbandwidth usage and an estimated downlink bandwidth usage, and whereinallocating bandwidth to the mobile device at the event time and duringthe duration of the event based on the estimation of the bandwidth usagecomprises allocating uplink bandwidth and downlink bandwidth based onthe estimated uplink bandwidth and the estimated downlink bandwidth,respectively.
 8. The method of claim 1, further comprising identifying alocation of the event, and wherein allocating bandwidth to the mobiledevice comprises reserving the allocated bandwidth at the event time andduring the duration of the event in a coverage area of the mobilecommunication system at the identified location.
 9. The method of claim1, wherein identifying a property of the event comprises identifying anexpress indication that the mobile device will use increased bandwidthat the event time during the duration of the event.
 10. The method ofclaim 9, further comprising: after the event time and duration of theevent, determining if the mobile device used increased bandwidth duringthe duration of the event; if it is determined that the mobile deviceused increased bandwidth during the duration of the event as expresslyindicated, providing the user with an incentive.
 11. The method of claim1, wherein identifying a property of the event comprises identifying anexpress indication that the mobile device will use decreased bandwidthat the event time during the duration of the event.
 12. The method ofclaim 11, further comprising: after the event time and duration of theevent, determining if the mobile device used decreased bandwidth duringthe duration of the event; if it is determined that the mobile deviceused decreased bandwidth during the duration of the event as expresslyindicated, providing the user with an incentive.
 13. The method of claim10, wherein the incentive comprises a price discount, credit points, orincreased bandwidth during a future event.
 14. The method of claim 12,further comprising: if it is determined that the mobile device usedincreased bandwidth during the duration of the event as opposed to theexpressly indicated decreased bandwidth, providing the user with adisincentive.
 15. The method of claim 14, wherein the disincentivecomprises a degradation of priority during a future event.
 16. Themethod of claim 1, wherein the mobile device comprises a mobile phone, asmartphone, or a laptop computer.
 17. A computer-readable storage mediumhaving computer-executable instructions stored thereon that areexecutable by a computing device capable of communicating with a mobiledevice via a wireless communication system, the computer-executableinstructions being executable to perform operations comprising:receiving an indication of an event via a calendaring system of thecomputing device; identifying a property of the event, event time, and aduration of the event; determining an estimation of bandwidth usage ofthe mobile device based on the identified property and duration of theevent; and allocating bandwidth to the mobile device at the event timeand during the duration of the event based on the estimation of thebandwidth usage of the mobile device.
 18. The computer-readable storagemedium of claim 17, wherein the property of the event comprises anindication of a scheduled telephone call, text, email, or connection tothe Internet implying increased bandwidth usage during the event. 19.The computer-readable storage medium of claim 17, wherein the propertyof the event comprises an implied indication that the user will beoccupied with an activity which implies decreased bandwidth usage duringthe event.
 20. The computer-readable storage medium of claim 17, whereinidentifying a property of the event comprises using a text analyzingunit of the computing device to search a description of the event andidentify keywords and wherein determining an estimation of bandwidthusage of the mobile device comprises identifying an estimated bandwidthassociated with the identified keywords which is stored in a lookuptable of the computing device.
 21. The computer-readable storage mediumof claim 20, wherein identifying an estimated bandwidth associated withthe identified keywords comprises identifying an average requiredbandwidth for the mobile device in previous events with the identifiedkeywords stored in the lookup table.
 22. The computer-readable storagemedium of claim 21, wherein identifying an estimated bandwidthassociated with the identified keywords comprises identifying an averagerequired bandwidth for a plurality of mobile devices connected to thewireless communication system in previous events with the identifiedkeywords in the lookup table.
 23. The computer-readable storage mediumof claim 17, wherein the bandwidth comprises downlink and uplinkbandwidths and wherein determining an estimation of bandwidth usagecomprises determining an estimated uplink bandwidth usage and anestimated downlink bandwidth usage, and wherein allocating bandwidth tothe mobile device at the event time and during the duration of the eventbased on the estimation of the bandwidth usage comprises allocatinguplink bandwidth and downlink bandwidth based on the estimated uplinkbandwidth and the estimated downlink bandwidth, respectively.
 24. Thecomputer-readable storage medium of claim 17, further comprisingidentifying a location of the event, and wherein allocating bandwidth tothe mobile device comprises reserving the allocated bandwidth at theevent time and during the duration of the event in a coverage area ofthe wireless communication system at the identified location.
 25. Thecomputer-readable storage medium of claim 17, wherein identifying aproperty of the event comprises identifying an express indication thatthe mobile device will use increased bandwidth at the event time duringthe duration of the event.
 26. The computer-readable storage medium ofclaim 25, further comprising: after the event time and duration of theevent, determining if the mobile device used increased bandwidth duringthe duration of the event; if it is determined that the mobile deviceused increased bandwidth during the duration of the event as expresslyindicated, providing the user with an incentive.
 27. Thecomputer-readable storage medium of claim 17, wherein identifying aproperty of the event comprises identifying an express indication thatthe mobile device will use decreased bandwidth at the event time duringthe duration of the event.
 28. The computer-readable storage medium ofclaim 27, further comprising: after the event time and duration of theevent, determining if the mobile device used decreased bandwidth duringthe duration of the event; if it is determined that the mobile deviceused decreased bandwidth during the duration of the event as expresslyindicated, providing the user with an incentive.
 29. Thecomputer-readable storage medium of claim 26, wherein the incentivecomprises a price discount, credit points, or increased bandwidth duringa future event.
 30. The computer-readable storage medium of claim 28,further comprising: if it is determined that the mobile device usedincreased bandwidth during the duration of the event as opposed to theexpressly indicated decreased bandwidth, providing the user with adisincentive.
 31. The computer-readable storage medium of claim 30,wherein the disincentive comprises a degradation of priority during afuture event.
 32. A mobile communication system comprising: a bandwidthcontroller configured to allocate bandwidth of the mobile communicationsystem; and a mobile device capable of communicating with the bandwidthcontroller in order to request an allocation of bandwidth in the mobilecommunication system, wherein the bandwidth controller allocates thebandwidth of the mobile communication system according to the methodrecited in claim
 1. 33. A bandwidth controller for use in a wirelesscommunication system including a plurality of wireless mobile devices,wherein the bandwidth controller comprises the computer-readable storagemedium of claim
 17. 34. A method of optimizing bandwidth in a mobilecommunication system including a mobile device, the method comprising:receiving an indication of an event via a calendaring system operatingon the mobile device, wherein the calendaring system is configured toobtain and provide calendar event data for a user of the mobile device;identifying a location of the event, an event time, and a duration ofthe event; identifying a property of the event by searching adescription of the event and identifying keywords within the descriptionof the event, the property of the event providing an express indicationthat the mobile device will use either increased bandwidth or decreasedbandwidth at the event time during the duration of the event;determining an estimation of the bandwidth usage of the mobile devicebased on the duration of the event and an estimated bandwidth derivedfrom an average required bandwidth of the mobile device in previousevents with the identified keyword; and allocating bandwidth to themobile device at the event time and during the duration of the event ina coverage area of the mobile communication system at the identifiedlocation based on the estimation of the bandwidth usage of the mobiledevice.